/**
 * 1 输入框绑定值改变时间 input 事件
 *  1.获取到输入矿的值
 *  2.合法性判断
 *  3.检验通过，把输入框的值发送到后台
 *  4.返回的数据打印到页面上
 *  5.防抖
 *   
 */
import getSearchData from "../../services/search"
import regeneratorRuntime from '../../lib/runtime/runtime.js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    searchList:[],

  },
  timerId:-1,
  handleInput(e){
    // 获取输入框的值
   
    const {value} = e.detail
   
    // 检验合法性
    if(!value.trim()){
      //值不合法
      return;
    }
    // 准备发送请求
   clearTimeout(this.timerId)
   this.timerId = setTimeout(()=>{
     this._getSearchData(value)
   },1000)
    
    
  },
  async _getSearchData(query){
    const res = await getSearchData(query)
    const searchList = res.data.message
    console.log(searchList)
    this.setData({
      searchList
    })
  },
  // // 防抖
  // debounce(fn,delay){
  //   let timer = null
  //   return function(...args){
  //     if(timer) clearTimeout(timer)
  //     timer = setTimeout(()=>{
  //      console.log(args)
  //       fn.apply(null,args)
  //     },delay)
  //   }
  // }
})